\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[romanian]{babel}
\usepackage{romanian}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{caption}
\pagestyle{fancy}

\lhead{SDSL Plugin}
\rhead{Corcosa Ioana}
\rightmark
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}


\begin{document}
%\maketitle

\begin{titlepage}

\begin{center}


% Upper part of the page 

%\includegraphics[width=0.3\textwidth]{logo-SDSL.png}\\[1cm]

\textsc{\LARGE SDSL PLUGIN}\\[0.5cm]

\vfill 
% Title
\HRule \\[0.4cm]
{ \huge \bfseries D3. Platforme software similare}\\[0.4cm]

\HRule \\[1.5cm]

% Author and supervisor

\begin{flushleft} \large
\emph{Version:} \textsc{1.0}
\end{flushleft}

\begin{flushleft} \large
\emph{Printed on:} \textsc{21.11.2010}
\end{flushleft}

\begin{flushleft} \large
\end{flushleft}
\vfill
% Bottom of the page
{\large West University of Timi'soara \\ 2010}

\end{center}

\end{titlepage}

\newpage

\tableofcontents



\chapter{Sisteme software similare }

\section{Interactive SmartHome Simulator}
\subsection{Descriere}
\paragraph{}
'In lucrarea lor "Development of a Context Aware Virtual Smart Home Simulator", Tam Van Nguyen, T. Jin Gook Kim 'si Deokjai Choi de la departamentul de
informatic'a Chonnam National University din Coreea ne propun un sistem pentru
simulare a datelor domestice : Interactive SmartHome Simulator. Acest sistem , supranumit
ISS, 'i'si dore'ste s'a controleze 'si s'a simuleze comportamentul unei case inteligente. 'In
cadrul cercet'arii, casa inteligent'a este considerat'a un mediu compus din mai multe
dispozitive distribuite 'si independente care conlucreaz'a pentru a 'indeplinii cerin'tele
utilizatorilor. Astfel, folosind ISS, utilizatorul poate realiza rela'tionarea'intre spa'tiul virtual
al casei, mediul 'inconjurator 'si dispozitivele 'si aparatele din cas'a.
Scopul principal 'in proiectarea sistemului ISS este colectarea automata a
informa'tiilor de context dintr-o cas'a inteligent'a 'si validarea reac'tiilor 'intr-un mod potrivit
cu ambientul.

\paragraph{}
Partea de ra'tionament recep'tioneaz'a date de la senzori 'si 'in acela'si timp creeaz'a
evenimente pe care le transmite Home Server-ului. Acesta va efectua modific'ari asupra
mediului (Home Environment) ceea ce aduce dup'a sine modificarea datelor senzorilor.
Utilizatorii (locuitorii) folosesc interfa'ta utilizator pentru a controla serverul 'si pentru a
modifica partea de rationament.

\subsection{Implementare}
\paragraph{}
Spre deosebire de alte sisteme tip simulator de cas'a inteligent'a care proceseaz'a
de fapt doar o “camer'a inteligent'a ” , in ISS spa'tiul virtual este compus din medii copil
corespunz'atoare camerelor 'si spa'tiilor dintr-o cas'a.
\paragraph{}
Se simuleaz'a de asemenea mediul 'inconjur'ator, o component'a foarte important'a
fiind vremea. Tendin'ta este folosirea unor date reale folosind Web Services pentru
conectarea , de exemplu , la YahooWeather, dar pentru a nu trebui s'a a'stept'am schimbarea
vremii sistemul ofer'a abilitatea de a simula vremea prin setarea statusului la unul din patru
st'ari comune pentru Coreea: ninsoare, ploaie, caldur'a, nori. Modificarea acestui status are
ca efect modific'ari 'in mediul intern al casei (temperatur'a, umiditate, lumin'a).
\paragraph{}
Pentru exprimarea contextului simulatorului consider'am clasa Person care con'tine
'in implementarea sa comportamentul, loca'tia 'si aspectul unei persoane, clasa Home
Appliance care con'tine statusul 'si loca'tia unui dispozitiv din casa, respectiv clasa mediu.
Clasa Factor reprezint'a atomul de baz'a extins de clasele prezentate anterior.Clasa Virtual
Space detine toti acesti factori intr-o relatie de agregare.
\paragraph{}
La dezvoltarea sistemului ISS s-au folosit .NET si mediul de dezvoltare Sharp Develop.
IDE-ul Sharp Develop este un mediu de dezvoltare free pentru aplica'tii framework .NET.
ofer'a suport pentru dezvoltarea unor aplica'tii folosind C, Basic.NET si Boo. Tehnici de
programare folosite: multithread-ing, thread sycronization, socket-uri 'si comunicarea prin
mesaje.

\section{ Smart House Simulation Tool}
\subsection{Descriere}
\paragraph{}
Acest produs e un proiect MSc desf'a'surat 'intre 18.04.2006-29.09.2006 'in cadrul
Departmentului de Informatic'a 'si Modelare Matematic'a (IMM) din Universitatea Tehnic'a
Danemarca. (imm.dtu.dk) 'si documentat 'in [13].
\paragraph{}
Scopul principal este de a dezvolta un instrument JAVA pentru proiectarea 'si simularea
unui model simplu, 2D, de cas'a inteligent'a. Instrumentul ofer'a capacitatea de a proiecta
grani'tele fizice dintr-o cas'a, pozi'tionarea unui set de senzori 'in interiorul acesteia, 'si s'a
observe modul de func'tionare a unei case 'in cadrul unui set de scenarii, 'in care
comportamentul uman va declan'sa senzorii. At\^{a}t infrastructura senzorilor, c\^{a}t 'si scenariile
sunt concepute 'intr-un mod care le permite o eventual'a extindere 'in viitor. Programul 'i'si
salveaz'a toate opera'tiile 'intr-un log, permi't\^{a}ndu-se astfel s'a se experimenteze cu scenariile
'si s'a le fie verificat'a validitatea.
\paragraph{}
Fereastra aplica'tiei are 3 taburi:
unul pentru desenat;
unul pentru simulare (practic, acolo ruleaza casa);
unul pentru scrierea evenimentelor care au avut loc.
\paragraph{}
Tab-ul pentru desenat d'a userului posibilitatea de a defini grani'tele exterioare ale
apartamentului, grani'te ce pot fi pere'ti, ferestre 'si u'si. De asemenea, senzorii pentru detec'tia
mi'sc'arii, luminozit'a'tii, timpului 'si temperaturii pot fi amplasa'ti unde consider'a utilizatorul
c'a ar putea fi de folos. Datorit'a timpului redus 'in care a fost dezvoltat acest proiect, 'in
versiunea de fa'ta nu exist'a dec\^{a}t posibilitatea desen'arii in 2D.
O alt'a posibilitate e aceea de a 'inc'arca un plan al unei case reale, peste al c'arui contur s'a
poat'a desena, folosindu-se de op'tiunile din program. 'In acest fel, utilizatorul ar putea s'a
efectueze o simulare asupra propriei sale case.
\paragraph{}
'In tab-ul de rulare se poate observa activarea/dezactivarea senzorilor. Din p'acate, tot din
lipsa timpului, momentan datele sunt transmise componentei logice a casei, 'insa nu se poate
vizualiza efectiv, spre exemplu, aprinderea/stingerea unui bec, ci doar se va afisa actiunea
intreprinsa 'in tab-ul cu log-ul programului.
Pot fi efectuate dou'a tipuri de ac'tiuni:
fie se schimb'a pozi'tia unei persoane printr-un click; fie se concepe un scenariu 'inaintea rul'arii 'si apoi se 'incarc'a. De asemenea, utilizatorul poate s'a aleag'a activarea/dezactivarea senzorilor.
\paragraph{}
Tab-ul de log-uri a fost introdus pentru a da utilizatorului posibilitatea sa verifice
functionarea corecta a programului. Dupa cum am spus mai sus, cand se aprinde un bec, nu
se desenaza acest lucru, ci se afiseaza in acest tab. De asemenea, sunt salvate si intr-un
fisier.
\subsection{Implementare}
\paragraph{}
Studiem structura general'a a aplica'tiei folosind diagrama de mai jos. Observ'am c'a
toate evenimentele generate de c'atre interac'tiunea cu utilizatorii sunt gestionate de c'atre
clasa GUI Events Dispatcher, fiind transmise serviciilor printr-un Facade. Clasele Services
con'tin toat'a func'tionalitatea, clasele auxiliare care nu conţin nici o logică legată de stare
fiind grupate sub UtilityClasses.
\paragraph{}
Aplica'tia a fost scrista tin Java6 beta, folosiindu-se librtariile Java tsi facilit'a'tile Java
(printre care componentele Java Swing si librariile XMLBeans), framework-ul Log4J
pentru logging, libr'ariile Apache Jakarta Commons, NetBeans Matisse GUI builder 'si
scripturi Ant built. La testare s-a folosit framework-ul Junit.

\section{Agent-Based Home Simulation and Control}
\subsection{Descriere}
\paragraph{}
'In aceast'a lucrare, B. De Carolis, G. Cozzolongo, S. Pizzutilo si V.L.
Plantamura au dorit simularea unei case inteligente 'in vederea 'in'telegerii impactului pe care
o are tehnologia asupra oamenilor 'in via'a de zi cu zi. Ei au considerat casa un mediu
inteligent format din dispozitive independente 'si distribuite ce interac'tionează pentru a
realiza anumite task-uri. Pentru a realiza task-urile, trebuie să le dăm dispozitivelor
inteligente un nivel potrivit de autonomie, distribuire 'si adaptabilitate. Astfel, ei au aceleasi
caracteristici ca agen'tii. Autorii propun un sistem multi-agent, ce este destinat, pe de o parte 
simul'arii controlului casei inteligente dintr-un punct de vedere func'tional, iar pe de alt'a
parte furniz'arii unei interfe'te pentru interac'tiunea cu casa.
'In primul prototip, numit Casa, este propus'a o organizare ierarhic'a a diferitelor
tipuri de agen'ti: operatori, supervizori 'si interactori.
Un agent operator (Oi) controleaz'a 'si modeleaz'a comportamentul unui dispozitiv
simplu. Este definit de o serie de atribute ce descriu starea dispozitivului 'si un set de
comportamente ce descriu task-urile ce pot efectuate asupra sa de un utilizator sau un alt
agent. Fiecare task are asociat'a o descriere formal'a care poate fi folosit'a pentru a controla
dispozitivul 'si pentru a genera o explica'tie a folosirii dispozitivului în limbaj natural.
\paragraph{}
Rolul agentului supervizor(Sk) este coordonarea interac'tiunilor dintre agen'tii
operatori. 'In func'tie de contextul situa'tiei curente, preferin'tele 'si necesit'a'tile utilizatorului
'in acel context, supervizorul ra'tionalizeaz'a asupra modului 'in care va coordona agen'tii din
sfera sa de influen't'a. 'In acest sistem, o sfer'a de influen't'a este definit'a 'in func'tie de tipul de
serviciu oferit locuitorilor casei 'si nu 'in func'tie de zona (camera) 'in care se afl'a operatorul.
Comportamentul decizional al agentului este determinat de o diagram'a de influen't'a
ce modeleaz'a rela'tiile dintre decizii (ac'tiunile dispozitivului), cantit'a'ti incerte aleatore ('telul
utilizatorului) 'si valorile (utilitatea ac'tiunilor).
\paragraph{}
Odat'a ce supervizorul a decis ce trebuie sa fac'a, acesta roag'a agentul operatorul ce
este implicat 'in decizie s'a execute opera'tia cerut'a. Acest lucru este realizat de un protocol
'in care agen'tii folosesc ACL (Agent Communication Language), al c'arui con'tinut este
exprimat in XML pentru comunicare.

\subsection{Implementare}
\paragraph{}
'In acest proiect, exist'a 2 nivele diferite de interac'tiuni pentru diferite categorii de
utilizatori: interfa'ta pentru controlul 'si simularea mediului: ce este folosit mai ales de
designeri pentru a testa ipotezele 'si interfa'ta utilizator: ce este folosit de locuitorii casei.
Interfa'ta pentru controlul 'si simularea mediului a fost creat'a folosind grafica 3D. 'In
primul prototip, zonele din cas'a 'si obiectele au fost realizate folosind 3D Studio Max, iar
apoi au fost exportate 'si transformate 'in VRML (Virtual Reality Modeling Language).
\paragraph{}
Pentru a folosi 3DUI pentru simulare, a fost necesar'a stabilirea unei conexiuni cu
Casa. Aceast'a conexiune a fost realizat'a folosind un protocol 'in care casa trimite un mesaj
ACL al c'arui con'tinut este 'in XML. Mesajul va fi primit de o clasa Java ce este capabil'a s'a
parseze mesajul 'si s'a schimbe la nivel de interfa't'a ce este specificat 'in mesaj. Apoi,
interfaţa 3DUI trimite un mesaj ACL specific\^{a}nd c'a o stare a fost schimbat'a sau nevoia de
citire a unor atribute de st'ari pentru operatorii responsabili de acel dispozitiv.
Dintre framework-urile de dezvoltare a agen'tilor 'si de construirea unor sisteme
multi-agent a fost folosit JADE. Agentul de decizii a fost modelat folosind Belief and
Decision Network Java Applet 'in clasa agentului supervizor.


\chapter{Comparatie ale sistemelor}
\section{Criterii de comparatie}
\paragraph{}

\end{document}


